package appagendaprofesores.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import appagendaprofesores.excepcion.DAOExcepcion;
import appagendaprofesores.modelo.PagoProfesor;
import appagendaprofesores.util.ConexionBD;

public class PagoProfesorDAO extends BaseDAO {

	public PagoProfesor insertar(PagoProfesor vo) throws Exception {
	String query = "INSERT INTO agendaprofesores.pagoprofesor(fechaPago, monto, montoTotal, nroClick, contadorClick, estado, idProfesor) VALUES (?,?,?,?,?,?,?)";
	Connection con = null;
	PreparedStatement stmt = null;
	ResultSet rs = null;
	try {
		con = ConexionBD.obtenerConexion();
		stmt = con.prepareStatement(query);
		stmt.setString(1, vo.getFechapago());
		stmt.setDouble(2, vo.getMonto());
		stmt.setDouble(3, vo.getMontototal());
		stmt.setInt(4, vo.getNroclic());
		stmt.setInt(5, vo.getContadorclic());
		stmt.setString(6, vo.getEstado());
		stmt.setInt(7, vo.getIdprofesor());
		
		int i = stmt.executeUpdate();
		if (i != 1) {
			throw new SQLException("No se pudo insertar");
		}

		int id = 0;
		query = "select last_insert_id()";
		stmt = con.prepareStatement(query);
		rs = stmt.executeQuery();
		if (rs.next()) {
			id = rs.getInt(1);
			
			
			System.out.println("Se inserto correctamente" +vo.getIdpagoprofesor()); 

	}
			vo.setIdprofesor(id);

	} catch (Exception e) {
		throw new Exception("No se pudo registrar por el siguiente motivo: "+e.getMessage());
	} finally {
		this.cerrarResultSet(rs);
	    this.cerrarStatement(stmt);
	    this.cerrarConexion(con);
	}
	return vo;
}


}
